Migrate from deprecated v1 Endpoints to discovery.k8s.io/v1 EndpointSlice#9032
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #9032 +/- ##
==========================================
- Coverage 51.07% 50.95% -0.12%
==========================================
Files 409 411 +2
Lines 21999 22069 +70
==========================================
+ Hits 11235 11246 +11
- Misses 9901 9958 +57
- Partials 863 865 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…lice The Kubernetes v1 Endpoints API is deprecated in v1.33+. This migrates the Broker, InMemoryChannel, and EventTransform reconcilers to use EndpointSlice with label-based listing instead of name-based Endpoints lookups, and updates RBAC roles, test helpers, and all test files.
66960b5 to
5afe170
Compare
|
Downstream rabbitmq tests are failing, because it needs to migrate to the "new" eventing API |
| verbs: | ||
| - "get" | ||
| - "list" | ||
| - "watch" |
There was a problem hiding this comment.
I assume it's enough ops for current functionality, correct?
|
/approve Feel free to proceed if there're no more outstanding reviews. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: creydr, dsimansk The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/unhold |
* upgrade to latest dependencies bumping knative.dev/eventing 43e651f...504f7e0: > 504f7e0 Fix outdated documentation: broken links, wrong paths, stale claims (# 9087) > 96ca1b2 Migrate from deprecated v1 Endpoints to discovery.k8s.io/v1 EndpointSlice (# 9032) > fdfff0b build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.95.0 to 1.97.3 (# 9051) Signed-off-by: Knative Automation <automation@knative.team> * Migrate from deprecated Endpoints to EndpointSlice The upstream knative/eventing dependency (knative/eventing#9032) migrated from the deprecated v1 Endpoints API to discovery.k8s.io/v1 EndpointSlice. This adapts the RabbitMQ broker reconciler to use the new API. Changes: - Replace endpointsLister with endpointSliceLister using label-based listing (discoveryv1.LabelServiceName) - Update PropagateIngressAvailability to accept []*discoveryv1.EndpointSlice and use duck.EndpointSlicesAreAvailable - Use kube SharedInformerFactory for EndpointSlice informer since knative/pkg does not yet provide a dedicated injection wrapper - Update all test fixtures from Endpoints to EndpointSlice * run hack/update-codegen.sh * Add RBAC permissions for endpointslices The broker controller needs get/list/watch on endpointslices in the discovery.k8s.io API group to check ingress availability after migrating from the deprecated Endpoints API. * Explicitly start EndpointSlice informer Unlike standard injection informers, the EndpointSlice informer obtained from the SharedInformerFactory is not registered with the injection framework and thus not automatically started. Start it explicitly to ensure its cache is populated. --------- Signed-off-by: Knative Automation <automation@knative.team> Co-authored-by: Knative Automation <automation@knative.team>
The Kubernetes v1 Endpoints API is deprecated in v1.33+.
Proposed Changes